// NOLINTBEGIN
#include <iostream>
#include <set>
using namespace std;

class calculator {
 private:
  double a, b;

 public:
  void values(double x, double y) {
    a = x;
    b = y;
  }

  void add(double x, double y) {
    values(x, y);
    cout << "The add answer is: " << a + b << endl;
  }

  void subtract(double x, double y) {
    values(x, y);
    cout << "The subtract answer is: " << a - b << endl;
  }

  void multiply(double x, double y) {
    values(x, y);
    cout << "The multiply answer is: " << a * b << endl;
  }

  void divide(double x, double y) {
    values(x, y);
    if (b == 0) {
      cout << "Error: division cannot be zero" << endl;
    } else {
      cout << "The divide answer is: " << a / b << endl;
    }
  }
};

int main() {
  calculator calculatorswitch;
  double a, b;
  char op;

  cout << "Enter two numbers and an operator (+, -, *, /): ";
  cin >> a >> b >> op;

  switch (op) {
    case '+':
      calculatorswitch.add(a, b);
      break;
    case '-':
      calculatorswitch.subtract(a, b);
      break;
    case '*':
      calculatorswitch.multiply(a, b);
      break;
    case '/':
      calculatorswitch.divide(a, b);
      break;
    default:
      cout << "Error: Wrong operator" << endl;
  };

  return 0;
}
// NOLINTEND